In the field of semiconductor fabrication, lithographic masks are used to transfer patterns to silicon wafers to create integrated circuits. When designers initially create a mask pattern, the program code or data describing the pattern is entered into a computer aided design (CAD) tool. This pattern data is usually represented in a condensed hierarchical fashion. At the higher levels of pattern representation hierarchy, features are represented in a conceptual manner. For instance, a memory array may be described as having a given cell repeated for a certain number of rows and columns. The next lower level in the hierarchy might describe the basic memory cell, comprised of subcells A and B. Finally, at the lowest level, the most primitive subcells contain geometric primitives--rectangles and polygons.
In order to generate a mask, the hierarchical data must first be flattened, enumerating every geometric instance described in the hierarchy, and then fractured. Fracturing is a technique that transforms pattern data described in terms of polygons into data that is represented in terms of rectangles and/or trapezoids. For instance, a u-shaped polygon in the "flattened data" is broken down into three component rectangles when fractured. Geometric data before fracturing can be represented in different manners. One representation may describe each rectangle or polygon in terms of vertex locations (referred to as vertex representation). Another manner in which rectangles or polygons can be represented is with a list of edges--where each edge is described in terms of the location of its end points. Flattening of the hierarchy typically results in several orders of magnitude increase in the size of data storage required to represent the pattern.
In the continuing drive to reduce the size of integrated circuits, dealing with proximity effects and other undesirable effects that occur when mask pattern feature sizes approach lithographic tool resolution limits has become crucial. U.S. Pat. No. 5,256,505 and U.S. Pat. No. 5,242,770, both assigned to the assignee of the present invention, describe mask techniques used to compensate for proximity effects in lithographic processing. Each of U.S. Pat. No. 5,256,505, and U.S. Pat. No. 5,242,770 utilize additional sub-lithographic features (i.e. features having critical dimensions less than the resolution of the exposure tool) in order to compensate for proximity effects. The additional proximity correction features in the mask pattern described by U.S. Pat. No. 5,242,770, (referred to as leveling bars), affect the edge intensity gradients of certain features within the mask pattern to compensate for proximity effects. U.S. Pat. No. 5,256,505 describes a mask that utilizes intensity modulation lines within the features to reduce the intensity levels for specific features within the mask pattern. Still another method employed to compensate for proximity effects and to improve lithographic pattern transference is described in U.S. patent application Ser. No. 08/194,097, also assigned to the assignee of the present invention. This mask pattern technique adds sub-lithographic features, referred to as scattering bars and anti-scattering bars, to mask patterns to reduce differences between features within a mask pattern due to proximity effects. One other common lithographic practice used to improve pattern transference is to add features, referred to as "serifs", to the corners of mask pattern features. Serifs are sub-lithographic square-shaped features positioned on each corner of a feature and serve to sharpen corners in the final transferred image.
Although adding all or several of the above sub-lithographic features to every feature in a mask pattern is optimal, the addition of all of these optical proximity effect correction features to a mask pattern can result in an order-of-magnitude increase in the total feature count in the mask pattern. For instance, adding a serif to each of the comers of a square (four serifs) and a scattering bar along each edge (four scattering bars) increases from 1 to 9 the number of features required to represent a single square.
In addition, in order to add a correction feature to every feature in a mask pattern, it is necessary first to reduce the mask pattern data to a non-hierarchical format. Every instance of each geometric feature described in the hierarchy must first be enumerated in order to reveal all interactions (overlaps, close proximity situations) between features before correction features can be properly computed. Consequently, the process of adding correction feature data to every feature in a pattern formatted in a non-hierarchical representation involves processing enormous amounts of data.
Another problem with adding correction features to each feature in a mask pattern is that different information is needed to generate each type of correction feature. For instance, in generating serifs it is useful to know vertex location. Thus, for serif generation, it is optimal to have the original mask pattern data represented as vertices. On the other hand, to generate and add proximity correction bars (e.g. scattering bars) to adjacent edges of features, it is necessary to have the pattern data represented as edges. Other types of correction features require rectangular representation or a polygonal representation. However, no current pattern generation software is able to represent geometric data as both edges and vertices, making the computation of serifs and scattering bars impossible with existing tools, or at best, prohibitively expensive because of computation time and memory requirement.
Scanning electron beam or laser imaging systems utilize the mask pattern data in its flattened representation to manufacture high-resolution photolithography masks for the integrated circuit. Consequently, hierarchical data needs to be flattened before the mask imaging system can use it. Presently employed commercial mask pattern fracturing software is designed to deal with incoming feature data that is represented hierarchically. As such, these commercial packages are not well equipped to manipulate large amounts of non-hierarchical input data in order to generate correction features. In addition, although some of the fracturing products are capable of adjusting pattern size (referred to as a grow or shrink function) and can perform simple geometric Boolean logic functions such as (AND, AND-NOT, OR, XOR), they lack the specific capabilities of vertex recognition, edge recognition, and dimensional filtering that are required to properly compute the correction features. Due to these limitations of the commercially available software, the currently practiced method for adding proximity correction features is accomplished by adding features only to selected cells within the mask pattern and then repeating these corrected cells over a given area on the mask. This method is lacking since it does not provide overall proximity correction for all features of the pattern.
The present invention is a method for adding sub-lithographic correction features to all features within an original mask pattern in a time and memory efficient manner.